package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.Courses;
import com.ruoyi.system.domain.Students;

/**
 * 课程信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-02-22
 */
public interface CoursesMapper 
{
    /**
     * 查询课程信息
     * 
     * @param courseId 课程信息主键
     * @return 课程信息
     */
    public Courses selectCoursesByCourseId(Long courseId);

    /**
     * 查询课程信息列表
     * 
     * @param courses 课程信息
     * @return 课程信息集合
     */
    public List<Courses> selectCoursesList(Courses courses);

    /**
     * 新增课程信息
     * 
     * @param courses 课程信息
     * @return 结果
     */
    public int insertCourses(Courses courses);

    /**
     * 修改课程信息
     * 
     * @param courses 课程信息
     * @return 结果
     */
    public int updateCourses(Courses courses);

    /**
     * 删除课程信息
     * 
     * @param courseId 课程信息主键
     * @return 结果
     */
    public int deleteCoursesByCourseId(Long courseId);

    /**
     * 批量删除课程信息
     * 
     * @param courseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCoursesByCourseIds(Long[] courseIds);

    /**
     * 批量删除学生信息
     * 
     * @param courseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStudentsByStudentIds(Long[] courseIds);
    
    /**
     * 批量新增学生信息
     * 
     * @param studentsList 学生信息列表
     * @return 结果
     */
    public int batchStudents(List<Students> studentsList);
    

    /**
     * 通过课程信息主键删除学生信息信息
     * 
     * @param courseId 课程信息ID
     * @return 结果
     */
    public int deleteStudentsByStudentId(Long courseId);
}
